home *** CD-ROM | disk | FTP | other *** search
/ Mac OS on the PowerPC Mic…rocessor - In Store Demo / Mac OS on the PowerPC Microprocessor.iso / MacOS / MacOS.dxr / 00054_blitPict parent for MPC.ls < prev    next >
Encoding:
Text File  |  1996-05-13  |  3.4 KB  |  111 lines

  1. property srcrect, POINTER, iStageOffsetL, iStageOffsetT
  2.  
  3. on birth me
  4.   set srcrect to EMPTY
  5.   set POINTER to EMPTY
  6.   set iStageOffsetL to getAt(the rect of the stage, 1)
  7.   set iStageOffsetT to getAt(the rect of the stage, 2)
  8.   return me
  9. end
  10.  
  11. on blitPictInitFile me, fileName, theSrcRect
  12.   set POINTER to blitpict(mnew)
  13.   if paramCount() = 2 then
  14.     POINTER(mInit, fileName, 0, 0, 0, 0, 0)
  15.     set srcrect to string(the result)
  16.   else
  17.     set sL to integer(item 1 of theSrcRect)
  18.     set sT to integer(item 2 of theSrcRect)
  19.     set sR to integer(item 3 of theSrcRect)
  20.     set sB to integer(item 4 of theSrcRect)
  21.     POINTER(mInit, fileName, 0, sL, sT, sR, sB)
  22.     set srcrect to string(the result)
  23.   end if
  24. end
  25.  
  26. on blitPictInitScreen me, screenRect
  27.   set POINTER to blitpict(mnew)
  28.   set sL to integer(item 1 of screenRect) + iStageOffsetL
  29.   set sT to integer(item 2 of screenRect) + iStageOffsetT
  30.   set sR to integer(item 3 of screenRect) + iStageOffsetL
  31.   set sB to integer(item 4 of screenRect) + iStageOffsetT
  32.   POINTER(mInit, EMPTY, 1, sL, sT, sR, sB)
  33.   set srcrect to 0 & "," & 0 & "," & sR - sL & "," & sB - sT
  34. end
  35.  
  36. on blitPictInitObj me, object, theSrcRect
  37.   if paramCount() = 2 then
  38.     POINTER(mInit, object, 2, 0, 0, 0, 0)
  39.     set srcrect to the result
  40.   else
  41.     set sL to integer(item 1 of theSrcRect)
  42.     set sT to integer(item 2 of theSrcRect)
  43.     set sR to integer(item 3 of theSrcRect)
  44.     set sB to integer(item 4 of theSrcRect)
  45.     POINTER(mInit, object, 2, sL, sT, sR, sB)
  46.     set srcrect to string(the result)
  47.   end if
  48. end
  49.  
  50. on blitPictDrawScreen me, theSrcRect, destrect, ink, trans, delay
  51.   if ink = "copy" then
  52.     set ink to 300
  53.   end if
  54.   if trans = 0 then
  55.     set trans to 3
  56.   end if
  57.   set sL to integer(item 1 of theSrcRect)
  58.   set sT to integer(item 2 of theSrcRect)
  59.   set sR to integer(item 3 of theSrcRect)
  60.   set sB to integer(item 4 of theSrcRect)
  61.   set dL to integer(item 1 of destrect)
  62.   set dT to integer(item 2 of destrect)
  63.   set dR to integer(item 3 of destrect)
  64.   set dB to integer(item 4 of destrect)
  65.   POINTER(mDraw, sL, sT, sR, sB, POINTER, dL, dT, dR, dB, ink, trans, delay, 1)
  66. end
  67.  
  68. on blitPictDrawObj me, theSrcRect, object, destrect, ink
  69.   if ink = "copy" then
  70.     set ink to 300
  71.   end if
  72.   set sL to integer(item 1 of theSrcRect)
  73.   set sT to integer(item 2 of theSrcRect)
  74.   set sR to integer(item 3 of theSrcRect)
  75.   set sB to integer(item 4 of theSrcRect)
  76.   set dL to integer(item 1 of destrect)
  77.   set dT to integer(item 2 of destrect)
  78.   set dR to integer(item 3 of destrect)
  79.   set dB to integer(item 4 of destrect)
  80.   POINTER(mDraw, sL, sT, sR, sB, object, dL, dT, dR, dB, ink, 3, 0, 1)
  81. end
  82.  
  83. on blitPictDispose me
  84.   if objectp(POINTER) then
  85.     POINTER(mdispose)
  86.   end if
  87.   set POINTER to EMPTY
  88. end
  89.  
  90. on blitPictDrawFile me, fileName, destrect, ink, trans, delay
  91.   set POINTER to blitpict(mnew)
  92.   POINTER(mInit, fileName, 0, 0, 0, 0, 0)
  93.   set sL to integer(item 1 of the result)
  94.   set sT to integer(item 2 of the result)
  95.   set sR to integer(item 3 of the result)
  96.   set sB to integer(item 4 of the result)
  97.   if ink = "copy" then
  98.     set ink to 300
  99.   end if
  100.   if trans = 0 then
  101.     set trans to 3
  102.   end if
  103.   set dL to integer(item 1 of destrect)
  104.   set dT to integer(item 2 of destrect)
  105.   set dR to integer(item 3 of destrect)
  106.   set dB to integer(item 4 of destrect)
  107.   POINTER(mDraw, sL, sT, sR, sB, POINTER, dL, dT, dR, dB, ink, trans, delay, 1)
  108.   POINTER(mdispose)
  109.   set POINTER to EMPTY
  110. end
  111.